Cognitive graphical control element

ABSTRACT

Information relating to at least one of a user and a user environment is acquired. A user cognitive state is determined based on the acquired information. A graphical control element is automatically configured based on the user cognitive state. The graphical control element is automatically presented on a display interface of a user device to control viewing of content displayed on the user device.

BACKGROUND

As the use of electronic devices to access various types of content(e.g., news articles, websites, videos, digital books, etc.) increases,users often encounter large amounts of displayed data. Commonly, usersmay navigate the content via a graphical control element, such as ascrollbar. Navigation through the vast amount of content using ascrollbar may require scrolling through data one record at a time,paging up and down, various flicking methods, or dragging a cursor orthumb across a display to find sought after data.

SUMMARY

Embodiments of the invention provide techniques for adjusting agraphical control element based on a cognitive state of a user.

For example, in one embodiment, a method comprises the following steps.Information relating to at least one of a user and a user environment isacquired. A user cognitive state is determined based on the acquiredinformation. A graphical control element is automatically configuredbased on the user cognitive state. The graphical control element isautomatically presented on a display interface of a user device tocontrol viewing of content displayed on the user device.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an overview process of a methodology for adjusting agraphical control element based on a cognitive state of a user,according to an embodiment of the invention.

FIG. 2 illustrates an exemplary embodiment of a distributed network 200in which the methodology 100 of FIG. 1 may be implemented.

FIG. 3 illustrates an illustrative embodiment of a graphical controlmodule of FIG. 2.

FIG. 4A illustrates an exemplary embodiment of a cognitive scrollbar,according to an embodiment of the invention.

FIG. 4B illustrates an exemplary embodiment of a cognitive scrollbar,according to a different embodiment of the invention.

FIG. 5 illustrates exemplary scrollbars for different user cognitivestates, according to embodiments of the invention.

FIG. 6 illustrates a cloud computing environment, according to anembodiment of the invention.

FIG. 7 depicts abstraction model layers according to an embodiment ofthe invention.

DETAILED DESCRIPTION

Illustrative embodiments of the invention may be described herein in thecontext of illustrative methods, systems and devices for adjusting agraphical control element, more particularly, for adjusting a scrollbarbased on the cognitive state of a user. However, it is to be understoodthat embodiments of the invention are not limited to the illustrativemethods, systems and devices but instead are more broadly applicable toother suitable methods, systems and devices.

A scrollbar is a graphical control element with which content, such astext, images, and video can be navigated. Scrollbars may appear onvarious electronic devices, such as computer displays, graphingcalculators, mobile phones and portable media players. Scrollbars mayalso appear on one or more sides of a viewing area on an electronicdevice. Certain scrollbars may do more than scroll, such as zoomingin/out. Sometimes, a scrollbar may appear as a “thumb” or “puck” thatcan be dragged along a track. Sometimes, the size of the thumb can befixed or variable. These graphical user interface (GUI) elements may bedifferent from a conventional scrollbar in that sliders are used tochange values (not necessarily for scrolling through a viewport).

However, while scrollbars may be useful for various applications,navigating content can be difficult when the content is hard to decipher(e.g., small font size, tight spacing, colorful), or if the user iselderly or has poor vision. Furthermore, a user may require or preferdifferent scrolling speeds for navigating content depending on thesituation. For example, when a user is browsing a website at leisure orstudying the content in detail, the user may want the scrolling speed tobe slower than normal. As another example, a user may be searching forcontent for which he or she knows the location on the page and mayprefer a faster than normal scrolling speed to reach the desired contentlocation quickly.

Furthermore, while scrollbars may be useful for a broad range of users,a user may become so confused or frustrated due to issues related toscrolling that he or she may think an application is “hung” andterminate the application. Moreover, a conventional scrollbar may itselfbe difficult to use for those who suffer from poor eyesight, havedifficulty focusing on an object, or can only see certain colors.

Embodiments of the invention provide methods and systems forrepresenting a graphical control element, e.g., a scrollbar, on agraphical user interface and adjusting the scrollbar based on thecognitive state of a user. As used herein, “cognitive state” may referto a user's state of mind, e.g., the user's ability to perceive and/orcomprehend content. A person's abilities and cognitive state may varydepending on the context and/or other factors (e.g., level of tiredness,etc.). In various embodiments of the invention, the scrollbar may changein size, color, shape, width, and responsivity to a sliding action(e.g., using a mouse or a finger gesture) based on the user's cognitivestate and/or context. As used herein, responsivity may refer to ameasure of responsiveness. For example, responsivity may include changesto the sensitivity of a scroll bar, changes to its motioncharacteristics, changes to a degree of movement of a mouse or finger,or changes based on an amount of pressure applied to the scroll bar by afinger. In one embodiment, scrollbar velocity and acceleration maycontrol the responsiveness when the mouse or finger is moved along thescrollbar or moved along a certain region of the scrollbar, so that theslider itself moves more quickly (or slowly) and goes further inresponse to the mouse or finger, thus potentially accelerating ordecelerating the movement speed and rate of the scrollbar. Otherresponsiveness changes may include the use of, or disabling of, lags inmotion or detents. Responsiveness may also include linearity andnonlinearity effects (e.g., jerky or smoother movements) in response toinput controls, such as a mouse or finger.

Advantageously, various embodiments herein provide methods and systemsfor adapting a graphical control element based on task, userdemographic, user's cognitive skills, user context (e.g., device,location, if alone or in the group). As scrollbars have a cognitivecomponent, a user having an easier time of scrolling and/or simplerscrolling experience may prefer a particular application or task andthereby become more engaged or productive.

Referring to the figures, FIG. 1 depicts an overview process of amethodology 100 for representing a graphical control element on agraphical user interface and adjusting the graphical control elementbased on the cognitive state of a user. Methodology 100 comprises thefollowing steps. At step 102 information relating to a user and/or userenvironment is acquired. Information may include visual information,such as images or videos of a user and/or user environment, screenshotsof the user device, etc. Information may also include acoustic data,such as audio files of a user's environment or voice. Information mayfurther include a user's schedule obtained from a calendar, which mayshow meetings scheduled for the day or week. Information be acquiredusing one or more imaging components, acoustic components and/orprocessor implemented on the user device. Information may also beacquired via user input. For example, a user or a caregiver may inputspecial requirements or characteristics for the user (e.g., the user isa child). Information may also be acquired from a database, which maycomprise information relating to characteristics of one or more cohortsand/or users and/or historical data for one or more cohorts and/or oneor more users).

At step 104, the user's cognitive state is determined based on theacquired information. The cognitive state may include an emotional state(e.g., fatigue, frustration, anger, and happiness), distraction level,degree of information assimilation (e.g. skimming text), etc. The statemay also be related to a user demographic, type, and/or cohort (e.g.,autism, age, pre-Alzheimer's disease, cognitive style, etc.). In someembodiments, a user state may be inferred by facial expressionmonitoring or by setting of a user demographic by a caregiver or thirdparty. The cognitive state may also be inferred by user biometrics(e.g., face/voice recognition), noise levels in the environment, eyegaze tracking, forecast interest, possible distractions caused by numberof open activities (e.g. windows) on a computer desktop, concurrent useof other devices (e.g., phone), possible fatigue based on meetingschedules for the day (e.g., on an electronic calendar), input fromwearable devices, location context, time of day, etc.

At step 106, the graphical control element can be configured andadjusted based on the user's cognitive state determined at step 104. Forexample, the size of a scrollbar may be increased if the user iselderly, the color may change if the user is distracted, or the style ofthe scrollbar may be switched to be in the form of a cartoon characterif the user is a child. The representation/responsivity of a scrollbarmay also change based on eye gaze tracking or forecast interest incontent on the screen. For example, if the user is carefully readingcontent on the screen as determined by slower than normal eye gazemovement, the scrollbar speed may be decreased compared to anormal/default scrolling speed to accommodate the user. Optionally, thegraphical control element may also be changed based on user contextand/or user cognitive state as impacted by the user context. Forexample, the graphical control element may become wider, thinner,longer, or shorter based on a user's estimated level of distraction dueto the user's environment.

At step 108, the configured/adjusted graphical control element may bepresented to a user on a display interface of the user device. The usermay then use the adjusted graphical control element to control viewingof the content on the user device. A user device may include a tablet, asmartphone, a laptop or any other suitable electronic or computingdevice configured with a graphical control element.

FIG. 2 depicts a distributed network 200 for implementing methodology100 of FIG. 1. Distributed network 200 comprises one or more processingnodes 202-1 . . . 202-N configured for communication through network220. Each of the processing nodes 202-1 . . . 202-N may be configuredwith components similar to computer system/server 202-1, which maycomprise, but is not limited to, personal computer systems, servercomputer systems, thin clients, thick clients, hand-held or laptopdevices, multiprocessor systems, microprocessor-based systems, set topboxes, programmable consumer electronics, network PCs, minicomputersystems, mainframe computer systems, and distributed cloud computingenvironments that include any of the above systems or devices, and thelike. Computer system/server 202-1 may include a user interface 204, aninput/output (I/O) device interface 206, a network interface 210, one ormore processors 212 coupled to a memory 214 and a display 218.

User interface 204 may be configured to enable user input into thecomputer system/device 202-1 (e.g., a user device). I/O device interface206 may support communication with a variety of I/O devices. Forexample, user input/output devices (such as hand-held devices andcomputing devices) and user input devices (such as a keyboard, mouse,keypad, touchpad, light pen, or other pointing devices). Networkinterface 208 may be configured to enable the computer system/device202-1 to interface with a network 220 and other system components in adistributed network.

Memory 214 may include a random-access semiconductor memory, storagedevice, or storage medium (either volatile or non-volatile) for storingor encoding data and programs. Memory 214 may also comprise a graphicalcontrol module 216 for implementing at least a portion of methodology100 of FIG. 1, details of which is delineated in the context of FIG. 3.

The display device 218 may be a standalone display screen, computermonitor, television, a tablet or handheld device display, or othersuitable displayable device configured to display content to a user. Itis to be appreciated that distributed network 200 may include more orless components than shown in FIG. 2. Furthermore, each of theprocessing nodes 202-1 . . . 202-N may comprise more or less componentsthan shown in computer system/device 202-1.

FIG. 3 depicts an illustrative embodiment of a graphical control module216 shown in FIG. 2. Graphical control module 300 receives input 301,which may comprise information relating to a user or the user'senvironment. Graphical control module 300 comprises a user cognitiveanalysis module 302 and a display configuration and control module 310.

Graphical control module 300 may also interact with a database 320 toretrieve and/or store information. Database 320 may be implemented apartfrom the user device or as part of the user device. Database 320 mayinclude default settings 322, which may include information for defaultscrollbars for specific users, or default scrollbars for each usertype/cohort. Database 320 may also include biometrics data 324, whichmay include previously-stored biometrics for user types/cohorts and/orspecific users. Database 320 may also include other data 326, e.g.,historical user data, data pertaining to user types/cohorts, etc.

User cognitive state analysis module 302 may include a biometricsanalysis module 304, a facial expression analysis module 306 and a gazetracking module 308. Biometrics analysis module 304 may interact withdatabase 320 to retrieve and/or store biometrics data 324. Biometricsanalysis module 304 may determine user cognitive state by applyingbiometric-based recognition techniques to input 301. For example,biometrics analysis module may use a voice recognition technique tocompare an audio file received as input 301 against audio files storedin database 320 to determine user characteristics or identity.

User cognitive state analysis module 302 may also include facialexpression analysis module 306, which may determine user cognitive statebased on user facial expressions captured by one or more imagingcomponents on the user device and received by graphical control module300 as input 301. Facial expression analysis module 306 may also usecomputer vision to measure eye blink rate as a proxy for fatigue. Facialexpression analysis module 306 may also apply age estimation methods toone or more user images received as input 301 to automaticallycategorize a user, e.g., as a child or elderly, and change the scrollbaraccordingly. Facial expression analysis can also be used to infer theemotional state of the user. This information (e.g., estimated age,fatigue, emotion) may be used to adjust the scrollbar accordingly. Forexample, a user who is fatigued may prefer larger scrollbars with slowerscrolling speed, while a child may prefer representations with cartooncharacters or colorful scrollbars.

User cognitive state analysis module 300 may also include a gazetracking module 308 for determining user cognitive state based on eyemovement. Measurement of eye gaze can be obtained using cameras equippedwith infrared illumination, using the reflection on the cornea tocalculate the gaze direction. It is also possible to measure eye gazeusing off-the-shelf cameras based on machine learning models that mapthe appearance of the eye to the corresponding gaze locations in thescreen. A device may include cameras equipped to measure where the useris looking. Gaze tracking module 308 may use any of the above methods oranalyze eye movement using an eye tracking algorithm to analyze one ormore images/videos received as input 301.

Graphical control module 300 may also include a display configurationand control module 310 configured to adjust and present a graphicalcontrol element on a user device. Display configuration and controlmodule 310 may allow a user to select a particular configuration or seta user profile with respect to a scrolling preference. For example, auser may configure his/her default scrollbar with a specific scrollingspeed, scrollbar type, scrollbar size and shape. This customizedscrollbar may be stored in database 320 as default settings 322 for thisparticular user. Display configuration and control module 310 may alsoadjust or configure a graphical control element based on results fromuser cognitive state analysis module 302. Display configuration andcontrol module 310 may control various parameters, for example,scrolling speed, size, shape, brightness, etc.

A system implementing an embodiment of the invention may learn whatscrollbars are best for different classes of users so that other userscan benefit as the system learns. For example, in one embodiment, a usermay actually tap on a certain style of scrollbar when the user “likes”it and the system may store this scrollbar style in database 320 forthis user as part of the user's profile. As another example, the systemmay learn and adapt based on characteristics of a cohort or user and/orbased on historical data associated with a cohort or user. In otherembodiments, the system may determine (with a certain level ofconfidence) that a user is becoming impatient, or nervous and vary oradapt the scrollbar accordingly.

Illustratively, graphical control module 300 may use computer vision foradaptively changing the representation or responsivity of a scrollbar.Eye gaze tracking performed via gaze tracking module 308 can be used tomeasure the user reading speed in order to change the parameters of thescrollbar. For example, depending on the reading speed, or the eye gazelocation in the screen, the scrollbar may be adjusted to be less/moresensitive. When the system detects erratic eye movement or rapidblinking, which may indicate agitation or fatigue, the speed, size andother attributes of the scrollbar may be adjusted. In addition, when theeyes are looking at the bottom of a page, the look and feel of thescrollbar may also change to indicate end of page. As such, embodimentsherein allow the user to control the scrolling while facilitatingscrolling via an adaptive scrollbar.

When skimming text, a reader is looking for cues that help him or herincorporate information from the text without sequential reading. Thistask is best accomplished when a skimming reader slows down and speedsup scrolling depending on the level of interest he or she has in thetext that is scrolling past. This act requires two cognitive tasks: 1)assimilating information; and 2) determining if the features passing byare interesting enough to slow down. Certain embodiments of theinvention may use a cognitive scrollbar to slow down automatically(e.g., change its responsivity) during fast scrolling based on a modelof user interest (or forecast interest) in the features on the screenthat are scrolling past. In this way, the user may ignore task (2) notedabove and focus instead on incorporating information at a constant rate,modulated by the availability of the information at scrolls past at anautomatically determined rate. The rate in these embodiments may bedetermined based on one or more of: (i) text analytics; (ii) topicanalysis; (iii) cognitive profiling and analysis; (iv) wearable signals;(v) user schedule; (vi) cognitive model; and (vii) user email analytics.

For example, graphical control module 300 may monitor a user scrollingthrough a set of options or material, and at some point, detect that theuser may be scrolling too fast compared to the user's reading pace(e.g., via facial expression analysis or gaze tracking) or the systemmay detect content that the user may be interested in based onforecasted user interest. In this case, the scrolling rate mayautomatically be adjusted by adjusting the viscosity of the scrollbar.The viscosity of the scrollbar may refer to the consistency of thescrollbar, e.g., the friction level that the scrollbar exhibits, or theperceived resistance when a user is scrolling. Adjusting the viscosityof the scrollbar may be advantageous in certain situations to minimizethe risk or likelihood of losing a user's attention.

If an action that is controlled by a scrollbar has a risk level R (i.e.,risk of losing the user's attention), then a viscosity coefficient maychange to slightly deter the scrolling so as to encourage a userreflecting on his or her act of scrolling. The value of R may affect thevalue of the coefficient. The force of viscosity on a small spheremoving through a viscous fluid is given by:

F_(d)=6πμRV

F_(d) is the frictional force, known as Stokes' drag, acting on theinterface between the fluid and the particle, μ is the dynamicviscosity, R is the radius of the spherical object, and V is the flowvelocity relative to the object. In International System of Units (SIunits), F_(d) is given in Newtons, μ in Pascal-second (Pa·s), R inmeters, and V in meters per second (m/s).

Computation of F_(d) may be performed by display configuration andcontrol module 310. The resulting F_(d) may be applied to a scrollbar tochange the velocity of the scrollbar. As such, the act of fast scrollingmay be modified using various embodiments of the invention.

Various embodiments of the invention may involve a scrollbar that iscustomized for a group of users. For example, a family vacationing inEurope may be using a touch screen panel to learn more about the cityand its attractions. A system implementing an embodiment of theinvention may detect handovers between parents and children usinginformation captured from one or more imaging components (i.e., a cameraunit) on the device, the system may then adjust the scrollbaraccordingly. Furthermore, the system can detect that the child may notbe tall enough to reach out the touch panel and may present scrollbaroptions in a voice-based command style options. As another example, if abusiness team is working on a project, similar or complementaryscrollbars may be automatically providing for members of the team. Asyet another example, a driver may be using an in-vehicle applicationoffering a selection of destinations, where haptic feedback from sensorsplaced in the car (on steering wheel, on car dash or seat, etc.) can beused to navigate choices by the driver, thereby removing the need to usethe built in touchscreen or relying on input technology.

FIGS. 4A and 4B depict illustrative scrollbars to which embodiments maybe applied. FIG. 4A depicts a semi-circular scrollbar 401, whichincludes incremental arrows 403 on one or both ends of scrolling region407. Navigation/scrolling may be performed using incremental arrows 403or slider 405. FIG. 4B depicts a linear scrollbar 402, comprisingincremental arrows 404 at one or both ends of scrolling region 408.Navigation/scrolling may be performed using the incremental arrows 404or slider 406. While not shown, embodiments of the invention may also beimplemented with other types of scrollbar, for example, a spiralscrollbar. A spiral scroll involves a non-linear path region thatcorresponds to a list of items in a computer application, wherein alength of the path region is directly proportional to an amount of itemsin the list. A rotatable handle region corresponds to a subset of theitems in the list.

In some embodiments, adjustment of the scrollbar may include switchingthe scrollbar type based on a user cognitive state or task. In additionto taking into account the user's cognitive state, various embodimentscan also take into an account the context, such as location, device, andtype of task/selection being made with slider/scrollbar. Additionally,the type of feedback from GUI control, such as haptic feedback and/oraudio feedback, can be further enhanced based on the cognitive state ofthe user.

FIG. 5 depicts illustrative types of scrollbars that may be implementedfor different user groups/types. Scrollbar 502 may be a normal ordefault linear scrollbar. Scrollbar 504 may be a customized scrollbarfor users with disability. Scrollbar 506 may be a scrollbar customizedfor a specific user cohort, e.g., for children, using shapes and/orcharacter representations in the scrollbar. Scrollbar 508 may be atactile scrollbar, which may be configured to include tactileproperties, such as texture and detents, in one or more parts of thescrollbar (e.g., the slider, the incremental arrows, the entirescrollbar). Typically, a detent is a device or action used tomechanically resist or arrest the rotation of a wheel, axle, or spindle.Scrollbar 508 may be configured with simulated detents such that usersmay feel “bumps” as they rotate a dial or move a slider. While notshown, various scrollbars may be configured based on context. Forexample, in one embodiment, a scrollbar may be specifically configuredwith a page index and a scroll indicator for accessing multi-page datavia a user interface.

Various embodiments of this invention may be implemented on a tactiletouch-sensitive device for use as an electronic input device forindicating a position of an electronic document on a display. Certainembodiments may involve a scrollbar or touchpad as a touch area on arigid substrate. The bottom surface of the flexible layer and the topsurface of the substrate, eventually in combination with elementsdisposed there-between may be configured to provide a pattern of varyingresistance to depression of the flexible layer. When using a graphicalcontrol element on such a device, a user can feel the varying resistanceto depression, when moving a fingertip over the touch sensitive surface,thereby receiving tactile feedback. The nature of this varyingresistance may depend on context or cognitive state. Furthermore, theelements disposed between the bottom surface of the flexible layer andthe top surface of the substrate can be collapsible members such ascollapsible domes or switches that produce a “click” sound whencollapsing, thus providing both tactile and audible feedback to theuser.

Advantageously, certain embodiments of the invention may be helpful forpeople with special needs, such as elderly computer users, children,users with autism, users with pre-Alzheimer's disease, etc. For example,scrollbar 504 may be implemented as a voice-controlled scrollbar for useby a disabled user (e.g., a user with Parkinson's disease or paralysis).Alternatively, a cognitive scrollbar may be configured with tactile andaudible feedback for users with diminished or impaired vision.

In various embodiments, the scrollbar may change its presentationdepending on: task, cognitive skills of the user, etc. For example, adifferent scrollbar may be rendered if the task is “select dish toorder” as compared with “select a person to contact on the dating site”or “select destination for your cab ride.” Furthermore, systems andmethods implementing an embodiment of the invention may also providevisual and/or audio cues in the GUI environment including a window toalert a user that a portion of the document is not currently displayedin the window and these cues may change with cognitive state andcontext.

Embodiments of the present invention may be a system, a method, and/or acomputer program product at any possible technical detail level ofintegration. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention. For example, computer system/device 202-1 maycomprise a computer program product for implementing embodiments of theinvention disclosed herein.

The computer readable storage medium (e.g., memory 214) can be atangible device that can retain and store instructions for use by aninstruction execution device. The computer readable storage medium maybe, for example, but is not limited to, an electronic storage device, amagnetic storage device, an optical storage device, an electromagneticstorage device, a semiconductor storage device, or any suitablecombination of the foregoing. A non-exhaustive list of more specificexamples of the computer readable storage medium includes the following:a portable computer diskette, a hard disk, a random access memory (RAM),a read-only memory (ROM), an erasable programmable read-only memory(EPROM or Flash memory), a static random access memory (SRAM), aportable compact disc read-only memory (CD-ROM), a digital versatiledisk (DVD), a memory stick, a floppy disk, a mechanically encoded devicesuch as punch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, configuration data for integrated circuitry, oreither source code or object code written in any combination of one ormore programming languages, including an object oriented programminglanguage such as Smalltalk, C++, or the like, and procedural programminglanguages, such as the “C” programming language or similar programminglanguages. The computer readable program instructions may executeentirely on the user's computer, partly on the user's computer, as astand-alone software package, partly on the user's computer and partlyon a remote computer or entirely on the remote computer or server. Inthe latter scenario, the remote computer may be connected to the user'scomputer through any type of network (e.g., network 220), including alocal area network (LAN) or a wide area network (WAN), or the connectionmay be made to an external computer (for example, through the Internetusing an Internet Service Provider). In some embodiments, electroniccircuitry including, for example, programmable logic circuitry,field-programmable gate arrays (FPGA), or programmable logic arrays(PLA) may execute the computer readable program instructions byutilizing state information of the computer readable programinstructions to personalize the electronic circuitry, in order toperform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the blocks may occur out of theorder noted in the Figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

It is understood in advance that although this disclosure includes adetailed description on cloud computing below, implementation of theteachings recited herein are not limited to a cloud computingenvironment. Rather, embodiments of the present invention are capable ofbeing implemented in conjunction with any other type of computingenvironment now known or later developed.

Cloud computing is a model of service delivery for enabling convenient,on-demand network access to a shared pool of configurable computingresources (e.g. networks, network bandwidth, servers, processing,memory, storage, applications, virtual machines, and services) that canbe rapidly provisioned and released with minimal management effort orinteraction with a provider of the service. This cloud model may includeat least five characteristics, at least three service models, and atleast four deployment models.

Characteristics are as follows:

On-demand self-service: a cloud consumer can unilaterally provisioncomputing capabilities, such as server time and network storage, asneeded automatically without requiring human interaction with theservice's provider.

Broad network access: capabilities are available over a network andaccessed through standard mechanisms that promote use by heterogeneousthin or thick client platforms (e.g., mobile phones, laptops, and PDAs).

Resource pooling: the provider's computing resources are pooled to servemultiple consumers using a multi-tenant model, with different physicaland virtual resources dynamically assigned and reassigned according todemand. There is a sense of location independence in that the consumergenerally has no control or knowledge over the exact location of theprovided resources but may be able to specify location at a higher levelof abstraction (e.g., country, state, or datacenter).

Rapid elasticity: capabilities can be rapidly and elasticallyprovisioned, in some cases automatically, to quickly scale out andrapidly released to quickly scale in. To the consumer, the capabilitiesavailable for provisioning often appear to be unlimited and can bepurchased in any quantity at any time.

Measured service: cloud systems automatically control and optimizeresource use by leveraging a metering capability at some level ofabstraction appropriate to the type of service (e.g., storage,processing, bandwidth, and active user accounts). Resource usage can bemonitored, controlled, and reported providing transparency for both theprovider and consumer of the utilized service.

Service Models are as follows:

Software as a Service (SaaS): the capability provided to the consumer isto use the provider's applications running on a cloud infrastructure.The applications are accessible from various client devices through athin client interface such as a web browser (e.g., web-based e-mail).The consumer does not manage or control the underlying cloudinfrastructure including network, servers, operating systems, storage,or even individual application capabilities, with the possible exceptionof limited user-specific application configuration settings.

Platform as a Service (PaaS): the capability provided to the consumer isto deploy onto the cloud infrastructure consumer-created or acquiredapplications created using programming languages and tools supported bythe provider. The consumer does not manage or control the underlyingcloud infrastructure including networks, servers, operating systems, orstorage, but has control over the deployed applications and possiblyapplication hosting environment configurations.

Infrastructure as a Service (IaaS): the capability provided to theconsumer is to provision processing, storage, networks, and otherfundamental computing resources where the consumer is able to deploy andrun arbitrary software, which can include operating systems andapplications. The consumer does not manage or control the underlyingcloud infrastructure but has control over operating systems, storage,deployed applications, and possibly limited control of select networkingcomponents (e.g., host firewalls).

Deployment Models are as follows:

Private cloud: the cloud infrastructure is operated solely for anorganization. It may be managed by the organization or a third party andmay exist on-premises or off-premises.

Community cloud: the cloud infrastructure is shared by severalorganizations and supports a specific community that has shared concerns(e.g., mission, security requirements, policy, and complianceconsiderations). It may be managed by the organizations or a third partyand may exist on-premises or off-premises.

Public cloud: the cloud infrastructure is made available to the generalpublic or a large industry group and is owned by an organization sellingcloud services.

Hybrid cloud: the cloud infrastructure is a composition of two or moreclouds (private, community, or public) that remain unique entities butare bound together by standardized or proprietary technology thatenables data and application portability (e.g., cloud bursting forload-balancing between clouds).

A cloud computing environment is service oriented with a focus onstatelessness, low coupling, modularity, and semantic interoperability.At the heart of cloud computing is an infrastructure comprising anetwork of interconnected nodes.

Computer system/servers 202-1 . . . 202-N in FIG. 2 are examples ofcloud computing nodes. It is to be appreciated, however, that thesecomputer systems/servers are only examples of suitable cloud computingnodes and is not intended to suggest any limitation as to the scope ofuse or functionality of embodiments of the invention described herein.Regardless, these computer systems/servers are examples of cloudcomputing nodes capable of being implemented and/or performing any ofthe functionality set forth hereinabove.

Referring now to FIG. 6, illustrative cloud computing environment 650 isdepicted. As shown, cloud computing environment 650 comprises one ormore cloud computing nodes 610 with which local computing devices usedby cloud consumers, such as, for example, a wearable device (notexplicitly shown), a personal digital assistant (PDA) or cellulartelephone 654A, desktop computer 654B, laptop computer 654C, and/orautomobile computer system 654N may communicate. Nodes 610 maycommunicate with one another. They may be grouped (not shown) physicallyor virtually, in one or more networks, such as Private, Community,Public, or Hybrid clouds as described hereinabove, or a combinationthereof. This allows cloud computing environment 650 to offerinfrastructure, platforms and/or software as services for which a cloudconsumer does not need to maintain resources on a local computingdevice. It is understood that the types of computing devices 654A-Nshown in FIG. 6 are intended to be illustrative only and that computingnodes 610 and cloud computing environment 650 can communicate with anytype of computerized device over any type of network and/or networkaddressable connection (e.g., using a web browser).

Referring now to FIG. 7, a set of functional abstraction layers providedby cloud computing environment 650 (FIG. 6) is shown. It should beunderstood in advance that the components, layers, and functions shownin FIG. 7 are intended to be illustrative only and embodiments of theinvention are not limited thereto. As depicted, the following layers andcorresponding functions are provided:

Hardware and software layer 760 includes hardware and softwarecomponents. Examples of hardware components include: mainframes 761;RISC (Reduced Instruction Set Computer) architecture based servers 762;servers 763; blade servers 764; storage devices 765; and networks andnetworking components 766. In some embodiments, software componentsinclude network application server software 767 and database software768.

Virtualization layer 770 provides an abstraction layer from which thefollowing examples of virtual entities may be provided: virtual servers771; virtual storage 772; virtual networks 773, including virtualprivate networks; virtual applications and operating systems 774; andvirtual clients 775.

In one example, management layer 780 may provide the functions describedbelow. Resource provisioning 781 provides dynamic procurement ofcomputing resources and other resources that are utilized to performtasks within the cloud computing environment. Metering and Pricing 782provide cost tracking as resources are utilized within the cloudcomputing environment, and billing or invoicing for consumption of theseresources. In one example, these resources may comprise applicationsoftware licenses. Security provides identity verification for cloudconsumers and tasks, as well as protection for data and other resources.User portal 783 provides access to the cloud computing environment forconsumers and system administrators. Service level management 784provides cloud computing resource allocation and management such thatrequired service levels are met. Service Level Agreement (SLA) planningand fulfillment 785 provide pre-arrangement for, and procurement of,cloud computing resources for which a future requirement is anticipatedin accordance with an SLA.

Workloads layer 790 provides examples of functionality for which thecloud computing environment may be utilized. Examples of workloads andfunctions which may be provided from this layer include: mapping andnavigation 791; software development and lifecycle management 792;virtual classroom education delivery 793; data analytics processing 794;transaction processing 795; and graphical control adjustment 796, whichmay implement one or more functions described above.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to best explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

What is claimed is:
 1. A method, comprising steps of: acquiringinformation relating to at least one of a user and a user environment;determining a user cognitive state based on the acquired information;automatically configuring a graphical control element based on the usercognitive state; and automatically presenting the graphical controlelement on a display interface of a user device to control viewing ofcontent displayed on the user device; wherein the steps are performed byat least one processor device coupled to a memory implemented in theuser device.
 2. The method of claim 1, wherein the user cognitive statecomprises at least one of a user cohort, a user emotional state and auser distraction level.
 3. The method of claim 2, wherein the useremotional state comprises at least one of fatigue, frustration,confusion and interest.
 4. The method of claim 1, wherein theinformation is acquired via user input.
 5. The method of claim 1,wherein acquiring information comprises capturing one or more images ofthe user by using one or more imaging components on the user device. 6.The method of claim 5, wherein determining the user cognitive statecomprises analyzing the one or more images of the user utilizing atleast one of a biometric technique, a facial expression analysistechnique and a gaze tracking technique.
 7. The method of claim 1,wherein acquiring information relating to the user environment comprisescapturing one or more images of the user environment using one or moreimage capture components on the user device.
 8. The method of claim 1,wherein acquiring information relating to the user environment comprisescapturing one or more audio streams of the user environment using one ormore acoustic components on the user device.
 9. The method of claim 1,wherein acquiring information relating to the user environment comprisesacquiring user activity level based on at least one of a number of openwindows on the user device and a user activity schedule from a calendarusing one or more processors implemented in the user device.
 10. Themethod of claim 1, wherein the graphical control element comprises ascrollbar.
 11. The method of claim 10, wherein automatically configuringthe graphical control element comprises adjusting at least one of asize, a texture and a color of the scrollbar.
 12. The method of claim10, wherein automatically configuring the graphical control elementcomprises adjusting a responsivity level of the scrollbar.
 13. Themethod of claim 12, wherein adjusting the responsivity level of thescrollbar comprises changing a viscosity of scrolling based on a riskcomputation.
 14. The method of claim 1, wherein the information isacquired from a database comprising characteristics of one or morecohorts, characteristics of one or more users and historical dataassociated with the one or more cohorts and one or more users.
 15. Themethod of claim 14, further comprising learning the user cognitive statebased on at least one of the characteristics and the historical data.16. The method of claim 1, further comprising automatically configuringthe graphical control element based on a user context.
 17. The method ofclaim 1, further comprising repeating the acquiring step, monitoring theuser cognitive state periodically.
 18. The method of claim 17, furthercomprising automatically reconfiguring the graphical control elementperiodically.
 19. A device comprising: a memory and a processoroperatively coupled to the memory and configured to implement the stepsof: acquiring information relating to at least one of a user and a userenvironment; determining a user cognitive state based on the acquiredinformation; automatically configuring a graphical control element basedon the user cognitive state; and automatically presenting the graphicalcontrol element on a display interface of a user device to controlviewing of content displayed on the user device.
 20. A computer programproduct comprising a computer readable storage medium for storingcomputer readable program code which, when executed, causes a computerto: acquire information relating to at least one of a user and a userenvironment; determine a user cognitive state based on the acquiredinformation; automatically configure a graphical control element basedon the user cognitive state; and automatically present the graphicalcontrol element on a display interface of a user device to controlviewing of content displayed on the user device.